<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	<base href="http://edu.bluej.cn/public/uploads/20180425/20180425114737数组/js/"></head>
	<body>
		<script type="text/javascript">
			//1.移除数组 arr[1, 2, 3, 4, 2] 中的2。不要直接修改数组 arr，结果返回新的数组
			var Arr = [1, 2, 3, 4, 2];
//			--------------------
//			var arr1 = Arr.filter(function(item){
//				return item != 2;
//			})
//			console.log(arr1);
//			--------------------
			function removeItem(arr,item){
				var newArr = arr.filter(function(el){
					return el != item;
				})
				return newArr;
			}
			console.log(removeItem(Arr,2))
			
			var an1=[]
			for(var i=0;i<Arr.length;i++){
				if(Arr[i]!=2){
					an1.push(Arr[i]);
				}
			};
			console.log("an1",an1);
			//2.定义一个函数,能在数组 arr[1, 2, 3, 4, 2] 的 "2"后面添加元素 "Melon"。不要直接修改数组 arr，结果返回新的数组
			function addWord(arr,item,add){
//				1. 复制一份一份数组
//				var newArr = arr.slice(0);
				var newArr = [].concat(arr);
//				2.循环判断,在指定元素后,通过splice 插入元素
				for(var i = 0;i < newArr.length;i++){
					if(newArr[i] === item){
						newArr.splice(i+1,0,add);
					}
				}
				return newArr;
			}
			console.log(addWord([1, 2, 3, 4, 2],2,"Melon"));
			
			var arr = [1, 2, 3, 4, 2];
			var newarr = arr.slice(0);
			// console.log(newarr);
			for(var i=0;i<arr.length;i++){
				if(newarr[i]===2){
					newarr.splice(i+1,0,"melon");
				}
			}
			console.log(newarr);
			
			//3.统计数组 arr[1, 2, 3, 4, 2] 中2出现的次数
			
			function howTime(arr,item){
//				--------方法一-------
//				var newArr = arr.filter(function(el){
//					return el == item
//				})
//				return newArr.length
//				-----------方法二---------------
//				初始化一个计数器
				var i = 0;
				for(var k = 0;k < arr.length;k++){
//					判断元素是否等于指定 数字,是则计数器自增;
					if(arr[k] == item){
						i++;
					}
				}
				return i;
//				--------------------------
			}
			console.log(howTime([1, 2, 3, 4, 2],2));

			//4.找出数组 arr[1, 2, 3, "melon", 4, "melon", 2, 4, "melon"] 中重复出现过的元素,并用数组将重复元素装起来输出
			function repetArr(arr){
//				-------方法一------
//				var result = [];
//				var newArr = arr.filter(function(el){
//					if(arr.indexOf(el) != arr.lastIndexOf(el) && result.indexOf(el) < 0){
//						result.push(el);
//						return el;
//					}
//				});
//				return newArr;
//				-----------方法二-----------
				var result = [];
//				// 1.找出所有重复项
				var allRepet = [];
				for(var j = 0;j < arr.length;j++){
					if(arr.indexOf(arr[j]) != arr.lastIndexOf(arr[j])){
						allRepet.push(arr[j]);
					}
				}
//				2.去除重复项
				for(var i = 0;i < allRepet.length;i++){
					if(result.indexOf(allRepet[i]) == -1){
						result.push(allRepet[i]);
					}
				}
				// 3.最后返回处理好的数组
				return result;
			}
			console.log(repetArr([1, 2, 3, "melon", 4, "melon", 2, 4, "melon"]))




			//5.在arr里面输出年龄小于17的对象
			//			var arr = [
			//				{ name: "111", sex: "boy", age: 18 },
			//				{ name: "222", sex: "girl", age: 17 },
			//				{ name: "333", sex: "boy", age: 16 },
			//				{ name: "444", sex: "girl", age: 15 },
			//				{ name: "555", sex: "boy", age: 20 }
			//			]
			var arr = [
							{ name: "111", sex: "boy", age: 18 },
							{ name: "222", sex: "girl", age: 17 },
							{ name: "333", sex: "boy", age: 16 },
							{ name: "444", sex: "girl", age: 15 },
							{ name: "555", sex: "boy", age: 20 }
						];
			var newArr = [];
			
			for(var i = 0;i<arr.length;i++){
				if(arr[i].age < 17){
					newArr.push(arr[i]);
				}
			}
			console.log(newArr)
		</script>
	</body>
</html>
